#include "Material.h"
#include "Scene.h"

namespace RayTracer
{
    Material::Material(Color color, Color specular, float phongExponent, float reflection, float refraction, float refractiveIndex) 
		: color(color), spec(specular), phongExp(phongExponent), reflection(reflection), refraction(refraction), refractiveIndex(refractiveIndex)
    {
    }

    Color Material::GetSpecularColor() const
    {
	return this->spec;
    }
	    
			
    void Material::SetSpecularColor(const Color *value)
    {
	this->spec = *value;
    }

    float Material::GetPhongExponent() const
    {
	return this->phongExp;
    }

    void Material::SetPhongExponent(float value)
    {
	this->phongExp = value;
    }

	float Material::GetReflection() const
    {
	return this->reflection;
    }

    void Material::SetReflection(float value)
    {
	this->reflection = value;
    }

	float Material::GetRefraction() const
    {
	return this->refraction;
    }

    void Material::SetRefraction(float value)
    {
	this->refraction = value;
    }

	float Material::GetRefractiveIndex() const
    {
	return this->refractiveIndex;
    }

    void Material::SetRefractiveIndex(float value)
    {
	this->refractiveIndex = value;
    }
		
    Color Material::GetColor() const 
    {
	return this->color;
    }
	    
    void Material::SetColor(const Color *value)
    {
	this->color = *value;
    }

};
